package jdbc;

import java.sql.Connection;
import java.sql.SQLException;
import java.sql.PreparedStatement;

/**
 * 设置事务的隔离级别
 */
public class JDBCDemo12 {
    public static void main(String[] args) {
        try (Connection connection = DBUtil.getConnection();){
            /*
                设置事务的隔离级别
                隔离级别在Connection类上定义了:
                TRANSACTION_READ_UNCOMMITTED
                TRANSACTION_READ_COMMITTED
                TRANSACTION_REPEATABLE_READ
                TRANSACTION_SERIALIZABLE
             */
            //Connection提供了设置事务隔离级别的方法
            connection.setTransactionIsolation(Connection.TRANSACTION_READ_UNCOMMITTED);
//            connection.setTransactionIsolation(Connection.TRANSACTION_READ_COMMITTED);
//            connection.setTransactionIsolation(Connection.TRANSACTION_REPEATABLE_READ);
//            connection.setTransactionIsolation(Connection.TRANSACTION_SERIALIZABLE);
            connection.setAutoCommit(false);
            String sql = "INSERT INTO userinfo(username,password,nickname,age) " +
                         "VALUES(?,?,?,?)";
            PreparedStatement ps = connection.prepareStatement(sql);
            ps.setString(1,"王五");
            ps.setString(2,"123456");
            ps.setString(3,"老五");
            ps.setInt(4,18);
            int num = ps.executeUpdate();
            System.out.println(num>0?"添加成功":"添加失败");
            connection.commit();
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
}
